package com.service;

import com.request.FileCreateRequest;
import com.request.FileDeleteRequest;
import com.request.FileRenameRequest;
import com.request.FileSaveRequest;
import com.utils.JsonData;

/**
 * @author rkc
 * @date 2022/8/20 20:05
 */
public interface FileManageService {

    /**
     * 传入路径，查看当前路径下的所有目录文件结构
     * @param name
     * @return
     */
    JsonData showDirectory(String name);

    /**
     * 创建文件
     * @param fileCreateRequest
     * @return
     */
    JsonData createFile(FileCreateRequest fileCreateRequest);

    /**
     * 创建目录
     * @param fileCreateRequest
     * @return
     */
    JsonData createDirectory(FileCreateRequest fileCreateRequest);

    /**
     * 获取文件的内容
     * @param path
     * @return
     */
    JsonData getFile(String path);

    /**
     * 保存文件
     * @return
     */
    JsonData saveFile(FileSaveRequest fileSaveRequest);

    /**
     * 删除文件/目录
     * @return
     */
    JsonData deleteAll(FileDeleteRequest fileDeleteRequest);

    /**
     * 重命名文件/目录
     * @param fileRenameRequest
     * @return
     */
    JsonData rename(FileRenameRequest fileRenameRequest);
}
